home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Game Programming in C++ - Start to Finish
/
GameProgrammingS.iso
/
developer_install
/
CEGUISDK-0.4.1-VC6-STLport.exe
/
{app}
/
include
/
CEGUIExceptions.h
< prev
next >
Wrap
C/C++ Source or Header
|
2005-10-02
|
6KB
|
185 lines
/************************************************************************
filename: CEGUIExceptions.h
created: 20/2/2004
author: Paul D Turner
purpose: Defines exceptions used within the system
*************************************************************************/
/*************************************************************************
Crazy Eddie's GUI System (http://www.cegui.org.uk)
Copyright (C)2004 - 2005 Paul D Turner (paul@cegui.org.uk)
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*************************************************************************/
#ifndef _CEGUIExceptions_h_
#define _CEGUIExceptions_h_
#include "CEGUIBase.h"
#include "CEGUIString.h"
// Start of CEGUI namespace section
namespace CEGUI
{
/*!
\brief
Root exception class used within the GUI system.
*/
class CEGUIEXPORT Exception
{
public:
/*************************************************************************
Construction and Destruction
*************************************************************************/
Exception(const String& message);
virtual ~Exception(void);
/*!
\brief
Return a reference to the String object describing the reason for the exception being thrown.
\return
String object containing a message describing the reason for the exception.
*/
const String& getMessage(void) const {return d_message;}
protected:
String d_message;
};
/*!
\brief
Exception class used when none of the other classes are applicable
*/
class CEGUIEXPORT GenericException : public Exception
{
public:
/*************************************************************************
Construction and Destruction
*************************************************************************/
GenericException(const String& message) : Exception(message) {}
};
/*!
\brief
Exception class used when a request was made using a name of an unknown object
*/
class CEGUIEXPORT UnknownObjectException : public Exception
{
public:
/*************************************************************************
Construction and Destruction
*************************************************************************/
UnknownObjectException(const String& message) : Exception(message) {}
};
/*!
\brief
Exception class used when some impossible request was made for the current system state
*/
class CEGUIEXPORT InvalidRequestException : public Exception
{
public:
/*************************************************************************
Construction and Destruction
*************************************************************************/
InvalidRequestException(const String& message) : Exception(message) {}
};
/*!
\brief
Exception class used when a file handling problem occurs
*/
class CEGUIEXPORT FileIOException : public Exception
{
public:
/*************************************************************************
Construction and Destruction
*************************************************************************/
FileIOException(const String& message) : Exception(message) {}
};
/*!
\brief
Exception class used when an problem is detected within the Renderer or related objects
*/
class CEGUIEXPORT RendererException : public Exception
{
public:
/*************************************************************************
Construction and Destruction
*************************************************************************/
RendererException(const String& message) : Exception(message) {}
};
/*!
\brief
Exception class used when an attempt is made to use an object name that is already in use within the system
*/
class CEGUIEXPORT AlreadyExistsException : public Exception
{
public:
/*************************************************************************
Construction and Destruction
*************************************************************************/
AlreadyExistsException(const String& message) : Exception(message) {}
};
/*!
\brief
Exception class used when a memory handling error is detected
*/
class CEGUIEXPORT MemoryException : public Exception
{
public:
/*************************************************************************
Construction and Destruction
*************************************************************************/
MemoryException(const String& message) : Exception(message) {}
};
/*!
\brief
Exception class used when some required object or parameter is null
*/
class CEGUIEXPORT NullObjectException : public Exception
{
public:
/*************************************************************************
Construction and Destruction
*************************************************************************/
NullObjectException(const String& message) : Exception(message) {}
};
/*!
\brief
Exception class used when some attempt to delete, remove, or otherwise invalidate some object that is still in use occurs.
*/
class CEGUIEXPORT ObjectInUseException : public Exception
{
public:
/*************************************************************************
Construction and Destruction
*************************************************************************/
ObjectInUseException(const String& message) : Exception(message) {}
};
} // End of CEGUI namespace section
#endif // end of guard _CEGUIExceptions_h_